perm filename EDIT.F4[RST,LCS] blob
sn#208654 filedate 1976-04-01 generic text, type T, neo UTF8
00100 SUBROUTINE EDIT(JJA)
00200 COMMON/ALF/INP(72),ML /UPDWN/ RL,UD
00300 COMMON /SC/JL,LJ,MK
00400 1 ,ISKP,XMINUS,N,REXP,LK,NNUM,JM,JN,DBST,NFLG,IXX,ISEMI,QQ
00500 1 ,RVX(50),IAMP,A,RRN,B,MODE,IBLA
00600 COMMON R2,JA,CENTR,J2,RJQ(20),JQ(20)
00700 COMMON/RRJJ/RJJ2,RJJ(20)
00800 EQUIVALENCE (RVX1,RVX(1)),(RVX2,RVX(2)),(RVX4,RVX(4))
00900 1,(RVX3,RVX(3)),(RJ6,RJJ(4)),(RJ9,RJJ(7)),(R3,RJQ(1))
01000 1,(RJ5,RJJ(3)),(RJ10,RJJ(8)),(INP2,INP(2)),(INP20,INP(20))
01100 JN=-1
01200 C THIS IS FLAG IN SCANR
01300 INP20=ISEMI
01400 C SETS LIMIT IN SCANR
01500 ML=1
01600 RVX2=0
01700 RVX4=0
01800 C E=EDIT(55), C=COPY(2222), X=EXIT(222), DE=DEL(99), LP=LTPN
01900 CALL SCANR
02000 JN=0
02100 R2=RVX2
02200 IF(RVX1.GT.10.)GO TO 7
02300 JA=0
02400 IF(RVX2.NE.0)GO TO 8
02500 IF(INP2.EQ.'P')GO TO 5
02600 RVX2=RL
02700 IF(RVX1.GT.2)RVX2=UD
02800 C STORES RT-LFT OR UP-DOWN INFO
02900 GO TO 8
03000 CC IF(RVX1.NE.4)GO TO 5
03100 CC RETURN
03200 C FOR LIGHT PEN MOVING
03300 7 JA=RVX1
03400 IF(JA.EQ.99)R2=0
03500 IF(R2.NE.0)RETURN
03600 IF(JA.NE.55)RETURN
03700 5 CALL LPEN(R3,R2,K)
03800 C ↑↑↑ K NOT USED!
03900 C CURSOR WILL FIND HORZ POS FOR 55 EDIT.(R3=STF,R2=HORZ) SEE 554 IN MAIN.
04000 IF(JA.EQ.0)CALL EXCH(R2,R3)
04100 RVX1=2.
04200 RVX2=R3-RJJ(1)
04300 RVX3=3.
04400 RJQ(2)=0
04500 RJJ2=R2
04600 C ↑↑↑↑↑↑↑↑↑↑↑↑?????????
04700 C SO JD WILL BE 0 IN MAIN PROG.
04800 C FOR EDIT MODE
04900 8 IF(JA.EQ.55)RETURN
05000 IF(INP2.EQ.'P')GO TO 17
05100 IF(RVX1.GT.2)GO TO 117
05200 RL=RVX2
05300 IF(RVX4.NE.0)UD=RVX4
05400 GO TO 17
05500 117 IF(RVX4.NE.0)RL=RVX4
05600 UD=RVX2
05700 17 R2=.00001
05800 JA=0
05900 K=RVX1
06000 857 GO TO (1,2,3,4,2),K
06100 4 RVX2=-RVX2
06200 CC3 IF(JJA.EQ.17.OR.JJA.EQ.7.OR.JJA.EQ.18)GO TO 12
06300 C SKIP OVER CLEFS (JJA=3) IS NOW REMOVED. 6/73
06400 3 CALL MVBEAM(RJJ,0,2,2,RVX2)
06500 C MOVES UP AND DOWN. HANDLES MINIS, ETC.
06600 IF(JJA.LT.4)GO TO 856
06700 IF(JJA.GT.6)GO TO 856
06800 C I THINK R2 MUST BE NON-ZERO TO WORK IN EDIT MODE?
06900 12 IF(RJ5.EQ.50)GO TO 856
07000 C 50=CRESC.-DECRESC.
07100 CC K=3
07200 CC IF(JJA.EQ.17.OR.JJA.EQ.18)K=4
07300 RJ5=RJ5+RVX2
07400 C MOVES 5TH PARAM UP OR DOWN
07500 GO TO 856
07600 1 RVX2=-RVX2
07700 2 R2=RVX2
07800 856 IF(RVX4.EQ.0)GO TO 858
07900 K=RVX3
08000 RVX2=RVX4
08100 RVX4=0
08200 GO TO 857
08300 858 IF(R2.EQ..00001)GO TO 7515
08400 IF(JJA.LT.5)GO TO 477
08500 IF(JJA.LE.8)GO TO 5515
08600 477 IF(JJA.NE.4)GO TO 7515
08700 IF(RJ6.EQ.0)GO TO 7515
08800 C ABOVE FOR P1=6 (BEAMS, SLURS, LINES)
08900 5515 RJ6=RJ6+R2
09000 IF(JJA.NE.6)GO TO 7515
09100 IF(RJ9.EQ.0)GO TO 7515
09200 IF(RJ10.LT.30)GO TO 7515
09300 IF(JJA.EQ.6)RJ9=RJ9+R2
09400 C RJ9(P9) IS LOC. OF INNER NOTE IN BEAM RANGE. SKIPS NUMBERS IN P9.
09500 7515 RJJ(1)=R2+RJJ(1)
09600 END